package com.lmx.persistence.service;

import java.util.List;
import java.util.Map;

import com.lmx.persistence.service.common.BaseCrudService;
import com.lmx.repoDomain.tmodel.Employee;
import com.lmx.repoDomain.tmodel.EmployeeLeaveFlow;

/**
 * 员工请假service
 *
 * @author ytche
 * @date 2017年7月12日
 *
 */
public interface EmployeeLeaveFlowService extends
		BaseCrudService<EmployeeLeaveFlow> {

	/**
	 * 统计员工一段时间内的请假状态
	 *
	 * @author ytche
	 * @param filter
	 * @date 2017年8月3日 上午10:26:49
	 */
	public List<EmployeeLeaveFlow> recordLeaveStatus(Map<String, String> filter);
	/**
	 * 计算出该记录员工请假天数并返回
	 *   @author djs
	 *   @param
	 *   2018年4月9日
	 */
	public Integer trimEmployeeLeaveFlow(EmployeeLeaveFlow employeeLeaveFlow) throws Exception;
	/**
	 * 获取该员工employee在请假记录employeeLeaveFlow中请假总天数
	 *   @author djs
	 *   @param
	 *   2018年4月17日
	 */
	public Integer trimEmployeeLeaveFlow(Employee employee,List<EmployeeLeaveFlow> employeeLeaveFlows);
	/**
	 *获取无偿的员工请假记录（包含请假天数）
	 *   @author djs
	 *   @param
	 *   2018年4月9日
	 */
	public List<EmployeeLeaveFlow> getNotSalaryEmployeeLeaveFlow(List<Employee> employees);

}
